在C++中,如何重载<<符号,请各位大侠帮忙,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:53:48
std::istream & operator>>(std::istream & oi,const Complex & c)
{
std::cout<<"real: ";
oi>>c.shi;
std::cout<<"imaginary: ";
oi>>c.xu;
return oi;
}
该如何修改这段代码呢?
其中,c是一个Complex的实例化对象,shi 和 xu 分别是Complex类中的私有成员,要求达到这样一个效果,重载<<后,执行代码cin>>c;时,提示分别输入 c的两个私有成员,
real:
imaginary:

xx!

把重载函数里的第二个参数里的修饰符const,去掉。如果不去掉这个的话,c中的数据是不能更改的,所以oi>>c.shi;和oi>>c.xu;这两条语句是非法的,不能通过编译。所以只要去掉const这个修饰符就可以了。

定义为员友